#ifndef RTW_HEADER_breathrate_h_
#define RTW_HEADER_breathrate_h_
#include <string.h>
#include <stddef.h>
#ifndef breathrate_COMMON_INCLUDES_
# define breathrate_COMMON_INCLUDES_
#include "rtwtypes.h"
#endif

#include "breathrate_types.h"

#ifndef rtmGetErrorStatus
# define rtmGetErrorStatus(rtm)        ((rtm)->errorStatus)
#endif

#ifndef rtmSetErrorStatus
# define rtmSetErrorStatus(rtm, val)   ((rtm)->errorStatus = (val))
#endif

typedef struct
{
    real_T maxl_data[149];
    real_T x_data[148];
    emxArray_int32_T_149_breathra_T vwork_data;
    real32_T rtb_Lowpass2_m[150];
    int32_T iPk_data[149];
    int32_T idx_data[149];
    int32_T iFinite_data[149];
    int32_T tmp_data[149];
    int32_T sortIdx_data[149];
    int32_T vwork_data_c[149];
    int32_T c_x_data[149];
    int32_T iwork_data[149];
    int32_T xwork_data[149];
    int32_T iwork_data_k[149];
    real32_T maxv_data[149];
    real32_T b_y1[149];
    real32_T y_data[149];
    uint8_T locs_temp_data[149];
    boolean_T idelete_data[149];
    uint8_T b_data[149];
    uint8_T iPk_data_c[149];
    int32_T x4[4];
    int16_T idx4[4];
    real_T y;
    int8_T perm[4];
    real32_T work;
    real32_T tmp2;
    int32_T ixLead;
    int32_T iyLead;
    int32_T m;
    int32_T maxv_size;
    int32_T maxl_size;
    int32_T i0;
    int32_T loop_ub;
    int32_T iPk_size;
    int32_T idx_size;
    int32_T iFinite_size;
    int32_T ib_size;
    int32_T trueCount;
    int32_T b_i;
    int32_T loop_ub_b;
    int32_T sortIdx_size;
    int32_T y_size;
    int32_T idelete_size_idx_0;
    int32_T dim;
    int32_T vstride;
    int32_T b;
    int32_T c_k;
    int32_T vwork_size;
    int32_T nQuartets;
    int32_T i;
    int32_T nLeft;
    int32_T i1;
    int32_T i2;
}
B_breathrate_T;

typedef struct
{
    dspcodegen_BiquadFilter_breat_T gobj_0;
    dspcodegen_BiquadFilter_breat_T gobj_1;
    dsp_LowpassFilter_breathrate_T obj;
    boolean_T objisempty;
    boolean_T isInitialized;
}
DW_breathrate_T;

typedef struct
{
    real32_T In1[150];
}
ExtU_breathrate_T;

typedef struct
{
    real32_T brate_data;
    real32_T len_data;
}
ExtY_breathrate_T;

struct tag_RTM_breathrate_T
{
    const char_T *errorStatus;
};

extern B_breathrate_T breathrate_B;
extern DW_breathrate_T breathrate_DW;
extern ExtU_breathrate_T breathrate_U;
extern ExtY_breathrate_T breathrate_Y;
extern void breathrate_initialize(void);
extern void breathrate_step(void);
extern void breathrate_terminate(void);
extern RT_MODEL_breathrate_T *const breathrate_M;

#endif

